/*
 * Copyright (c) Atmosphère-NX
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/* NOTE: This file is auto-generated by max17050_parameters_gen.py, do not edit manually. */

constexpr inline const CustomParameters CustomParameters0A = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x0053,
    .tempco      = 0x1C22,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x5786,
    .qresidual10 = 0x3184,
    .qresidual20 = 0x1E00,
    .qresidual30 = 0x1502,
    .fullcap     = 0x2476,
    .vffullcap   = 0x2476,
    .modeltbl    = {
        0x9FF0, 0xAD30, 0xB5D0, 0xB9C0, 0xBAD0, 0xBBE0, 0xBC30, 0xBC90,
        0xBCE0, 0xBD40, 0xBE70, 0xC0E0, 0xC4E0, 0xC890, 0xCC90, 0xD0F0,
        0x0170, 0x0480, 0x0590, 0x0BE0, 0x0A00, 0x3C00, 0x3810, 0x3A00,
        0x3A30, 0x19F0, 0x0EF0, 0x0AF0, 0x0BD0, 0x07F0, 0x06F0, 0x06F0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5F00,
    .iavgempty   = 0x1D2A,
};

constexpr inline const CustomParameters CustomParameters0R = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x0048,
    .tempco      = 0x2034,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x5A00,
    .qresidual10 = 0x3B00,
    .qresidual20 = 0x0F80,
    .qresidual30 = 0x0B02,
    .fullcap     = 0x2466,
    .vffullcap   = 0x2466,
    .modeltbl    = {
        0x9C50, 0xAD90, 0xB270, 0xB6A0, 0xB8F0, 0xBB10, 0xBC00, 0xBD00,
        0xBD70, 0xBE70, 0xBF50, 0xC1F0, 0xC380, 0xC590, 0xC8E0, 0xD0B0,
        0x00D0, 0x0150, 0x0300, 0x0D00, 0x0E00, 0x1900, 0x2AC0, 0x2830,
        0x1760, 0x18F0, 0x0DF0, 0x0BC0, 0x0DF0, 0x0BF0, 0x06F0, 0x06F0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5F00,
    .iavgempty   = 0x1D2A,
};

constexpr inline const CustomParameters CustomParameters0M = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x0085,
    .tempco      = 0x1625,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x3100,
    .qresidual10 = 0x1B00,
    .qresidual20 = 0x1000,
    .qresidual30 = 0x0C81,
    .fullcap     = 0x227A,
    .vffullcap   = 0x227A,
    .modeltbl    = {
        0xA340, 0xB840, 0xB900, 0xBB70, 0xBC90, 0xBD20, 0xBDC0, 0xBEA0,
        0xBF70, 0xC030, 0xC210, 0xC3F0, 0xC800, 0xC9E0, 0xCCA0, 0xD090,
        0x0160, 0x3800, 0x0800, 0x1E00, 0x2550, 0x3060, 0x15D0, 0x1810,
        0x1490, 0x0B80, 0x0BF0, 0x0AF0, 0x0CB0, 0x06F0, 0x09D0, 0x09D0,
        0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
        0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    },
    .fullsocthr  = 0x5F00,
    .iavgempty   = 0x1D2A,
};

constexpr inline const CustomParameters CustomParameters1 = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x0040,
    .tempco      = 0x1624,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x4690,
    .qresidual10 = 0x2605,
    .qresidual20 = 0x1605,
    .qresidual30 = 0x0F05,
    .fullcap     = 0x1AE4,
    .vffullcap   = 0x1AE4,
    .modeltbl    = {
        0x8B50, 0x9C20, 0xACF0, 0xB160, 0xB3A0, 0xB5B0, 0xB950, 0xBBE0,
        0xBDC0, 0xBEF0, 0xC140, 0xC250, 0xC600, 0xC960, 0xCCE0, 0xD060,
        0x0070, 0x00F0, 0x0440, 0x0400, 0x0500, 0x0400, 0x0D00, 0x3270,
        0x0FB0, 0x0AF0, 0x10F0, 0x0CE0, 0x09E0, 0x07F0, 0x06F0, 0x06F0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5F00,
    .iavgempty   = 0x1584,
};

constexpr inline const CustomParameters CustomParameters2A = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x004A,
    .tempco      = 0x1D23,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x4000,
    .qresidual10 = 0x1E80,
    .qresidual20 = 0x0D83,
    .qresidual30 = 0x0783,
    .fullcap     = 0x1C20,
    .vffullcap   = 0x1C20,
    .modeltbl    = {
        0x8040, 0x9A30, 0xB430, 0xB770, 0xBAB0, 0xBBC0, 0xBD00, 0xBE50,
        0xBF70, 0xC0D0, 0xC300, 0xC590, 0xC960, 0xCD40, 0xD1F0, 0xD5C0,
        0x0040, 0x0060, 0x0510, 0x0D30, 0x16C0, 0x2160, 0x1380, 0x1A10,
        0x0EC0, 0x0CE0, 0x08F0, 0x0940, 0x0920, 0x06F0, 0x06C0, 0x06C0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5500,
    .iavgempty   = 0x1680,
};

constexpr inline const CustomParameters CustomParameters2R = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x004C,
    .tempco      = 0x2D32,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x5900,
    .qresidual10 = 0x2900,
    .qresidual20 = 0x1100,
    .qresidual30 = 0x0B00,
    .fullcap     = 0x1CCE,
    .vffullcap   = 0x1CCE,
    .modeltbl    = {
        0x8E10, 0x9FC0, 0xA880, 0xB750, 0xBA10, 0xBB30, 0xBD20, 0xBE80,
        0xC0A0, 0xC350, 0xC670, 0xC8C0, 0xCCF0, 0xD050, 0xD140, 0xD5F0,
        0x0020, 0x00D0, 0x0200, 0x0E00, 0x1300, 0x1B00, 0x1930, 0x1150,
        0x0BF0, 0x07E0, 0x0AD0, 0x06F0, 0x07F0, 0x0EF0, 0x04F0, 0x04F0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5500,
    .iavgempty   = 0x170B,
};

constexpr inline const CustomParameters CustomParameters2M = {
    .relaxcfg    = 0x203B,
    .rcomp0      = 0x0049,
    .tempco      = 0x222A,
    .ichgterm    = 0x0333,
    .tgain       = 0xE1F6,
    .toff        = 0x2BF2,
    .vempty      = 0xA05F,
    .qresidual00 = 0x4F00,
    .qresidual10 = 0x2680,
    .qresidual20 = 0x1205,
    .qresidual30 = 0x0C87,
    .fullcap     = 0x1C68,
    .vffullcap   = 0x1C68,
    .modeltbl    = {
        0x8E40, 0xB570, 0xB8F0, 0xBB00, 0xBC20, 0xBCC0, 0xBE30, 0xBFE0,
        0xC200, 0xC400, 0xC720, 0xCB50, 0xCF00, 0xD100, 0xD480, 0xD5C0,
        0x00C0, 0x0C00, 0x0A10, 0x1800, 0x2C00, 0x1C10, 0x12D0, 0x09F0,
        0x0AF0, 0x0850, 0x09F0, 0x06F0, 0x06B0, 0x07E0, 0x01D0, 0x01D0,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
        0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
    },
    .fullsocthr  = 0x5500,
    .iavgempty   = 0x16B9,
};

